package com.sangcomz.fishbun.ui.picker.model;

import com.sangcomz.fishbun.adapter.image.ImageAdapter;
import com.sangcomz.fishbun.util.future.CallableFutureTask;
import ohos.utils.net.Uri;

import java.util.List;

public interface PickerRepository {

    CallableFutureTask<List<Uri>> getAllBucketImageUri(long bucketId, boolean clearCache);

    CallableFutureTask<String> getDirectoryPath(long bucketId);

    void addAddedPath(Uri addedImage);

    List<Uri> getAddedPathList();

    void addAllAddedPath(List<Uri> addedImagePathList);

    AlbumData getPickerAlbumData();

    PickerViewData getPickerViewData();

    void setCurrentPickerImageList(List<Uri> pickerImageList);

    List<Uri> getSelectedImageList();

    ImageAdapter getImageAdapter();

    boolean hasCameraInPickerPage();

    boolean useDetailView();

    boolean isLimitReached();

    void selectImage(Uri imageUri);

    void unselectImage(Uri imageUri);

    boolean isNotSelectedImage(Uri imageUri);

    Uri getSelectedImage(int position);

    int getSelectedIndex(Uri imageUri);

    Uri getPickerImage(int imagePosition);

    String getMessageLimitReached();

    PickerMenuViewData getPickerMenuViewData();

    int getMinCount();

    int getMaxCount();

    List<Uri> getPickerImages();

    String getMessageNotingSelected();

    boolean checkForFinish();

    boolean isStartInAllView();

    String getDefaultSavePath();

}
